Process

์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ

  • ์šด์˜์ฒด์ œ ์ž…์žฅ์—์„œ ์ž‘์—…์˜ ๋‹จ์œ„๋ฅผ ํ”„๋กœ์„ธ์Šค๋ผ ๋ถ€๋ฅธ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰์„ ์œ„ํ•ด ๋‹ค์Œ ์ž์›์ด ํ•„์š”ํ•˜๋‹ค.
    • CPU
    • Memory
    • Files
    • I/O device

ํ•˜๋“œ ๋””์Šคํฌ(์Šคํ† ๋ฆฌ์ง€)์— ์ €์žฅ๋œ ํ”„๋กœ๊ทธ๋žจ(๋ช…๋ น์–ด ์ง‘ํ•ฉ)์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜๊ณ  ์ด๋ฅผ CPU๊ฐ€ fetchํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ. ์ด ๊ณผ์ •์—์„œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ํ”„๋กœ์„ธ์Šค์ด๋‹ค.

์‹คํ–‰ ์ค‘์— ์—ฌ๋Ÿฌ ์™ธ๋ถ€ ํŒŒ์ผ, I/O Device๋ฅผ ํ†ตํ•ด ๋ฆฌ์†Œ์Šค๋“ค์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜๋„ ์žˆ์Œ.

์—ฌ๋Ÿฌ ๋ถ€๋ฌธ์œผ๋กœ ๋‚˜๋‰œ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜๋‰œ๋‹ค.

  • Text section : ๋ช…๋ น์–ด๋“ค์˜ ์ฝ”๋“œ
  • Data section : ์ „์—ญ๋ณ€์ˆ˜
  • Heap section : ๋™์  ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ž๋ฐ”์—์„œ๋Š” new
  • Stack section : ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ํ•ด๋‹น ์˜์—ญ์— ์Œ“์ธ๋‹ค. ์ฃผ๋กœ ํ•จ์ˆ˜ Parameter, address, ์ง€์—ญ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋œ๋‹ค.

์œ„ section์„ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ฆฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋˜์–ด์žˆ๋‹ค.

0~max : ๋…ผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๋กœ logicalํ•œ ์ฃผ์†Œ. 0์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

code โ†’ data โ†’ stack, hea ์—ฌ๊ธฐ์„œ stack, heap์˜์—ญ์˜ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•˜๋ฉด ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋นŒ๋ ค ์‚ฌ์šฉ

?? stack์ด ์œ„์—์„œ ์Œ“์ด๋Š” ์ด์œ 

์†Œ์Šค์ฝ”๋“œ โ†’ out(ํ”„๋กœ๊ทธ๋žจ) โ†’ ๋ฉ”๋ชจ๋ฆฌ ๋กœ๋“œ โ†’ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ

OS๋Š” ์œ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ